package com.lv.service.bean

import android.os.Parcelable
import androidx.annotation.Keep
import com.chad.library.adapter.base.entity.MultiItemEntity
import kotlinx.parcelize.Parcelize

/**
 * 作者： ygx
 * 创建日期：2023/3/10 2:33 PM
 * 签名： 天行健，君子以自强不息；地势坤，君子以厚德载物。
 * -    _              _           _     _   ____  _             _ _
 * -   / \   _ __   __| |_ __ ___ (_) __| | / ___|| |_ _   _  __| (_) ___
 * -  / _ \ | '_ \ / _` | '__/ _ \| |/ _` | \___ \| __| | | |/ _` | |/ _ \
 * - / ___ \| | | | (_| | | | (_) | | (_| |  ___) | |_| |_| | (_| | | (_) |
 * -/_/   \_\_| |_|\__,_|_|  \___/|_|\__,_| |____/ \__|\__,_|\__,_|_|\___/
 * <p>
 * You never know what you can do until you try !
 * ----------------------------------------------------------------
 * 描述：
 */
@Parcelize
@Keep
data class CardColorFontBean(
    val image: String? = "",
    val pricefontcolor: List<String>?,
    val cardfontcolor: List<String>?,
    val commonfontcolor: List<String>?
) : Parcelable

@Parcelize
@Keep
data class CardItemBean(
    val id: String,
    val name: String,
    val price: Int,
    val year: Int,//卡片有效期
    val discount: Double,
    val color: String,
//    val image: String,
//    val outsideimage: String,
    val caption: String? = null,
    val fontColor: String,//0 黑 1 红 2 金 3 灰
    val periods: Int,//赠送期数
    val code: String,// 0 年卡 1 期卡
    val edition: String? = null,
    val type: String,
    val isMarketable: String,
    val styleid: String,
    val term: String?,
    val created: Long,
    var isSelectd: Boolean = false,
) : Parcelable

@Parcelize
@Keep
data class CardPageBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val items: List<CardBean>?,
) : Parcelable

@Parcelize
@Keep
data class CardBean(
    val id: String? = "",
    val phone: String? = "",
    val phones: List<String>?,
    val cpname: String? = "",
    val name: String? = "",
    val fontColor: String? = "",
    val year: Int?,
    val periods: Int?,
    val num: Int?,
    val price: Int?,
    val images: List<String>?,
    val licenses: List<String>?,
    val others: List<String>?,
    val ewm: List<String>?,//二维码
    val isdelete: String? = "",//0 上架（上线中） 1 被系统下架 （已下线） 2 待审核（已下线） 3 未绑卡 (未上线)
    val watermarking: String? = "",
    val userid: String? = "",
    val userTxaccid: String? = "",
    val uploadSaler: String? = "",
    val uploadSalername: String? = "",
    val fcname: String? = "",
    val provin: String? = "",
    val city: String? = "",
    val area: String? = "",
    val prefecture: String? = "",
    val actualprovin: String? = "",
    val actualcity: String? = "",
    val actualarea: String? = "",
    val actualprefecture: String? = "",
    val address: String? = "",
    val audit: String? = "",
    val isnew: String? = "",
    val cpyid: String? = "",
    val created: Long?,
    val ended: Long?,
    val fcaid: Int?,
    val backImage: List<CardBackImageBean>?,
    val merito: List<String>?,//经营范围
    val secaid: Int?,
    val secname: String? = "",
    val thcaid: Int?,
    val thcname: String? = "",
    val updated: Long?,
    val tdid: String? = "",
    var isSelected: Boolean = false,
) : Parcelable

@Parcelize
@Keep
data class CardStatisPageBean(
    var counts: Int,
    val page: Int,
    val pagesize: Int,
    val pages: Int,
    val items: List<CardStatisBean>?,
    val attached: Long,
) : Parcelable

@Parcelize
@Keep
data class CardStatisBean(
    val id: String,
    val sid: String,
    val name: String,
    val price: Int,
    val year: Int,
    val discount: Double,
    val color: String,
    val caption: String,
    val fontColor: String,
    val periods: Int,
    val num: Int,
    val code: String,
    val orderid: String,
    val refundid: String,
    val refundtext: String,
    val experience: String,
    val port: String,
    val status: String,
    val isdel: String,
    val operatingRecord: List<OperatingRecordBean>?,
    val backImage: List<CardBackImageBean>?,
    val userId: String,
    val userTxaccid: String,
    val uploadSaler: String,
    val uploadSalerTxaccid: String,
    val uploadSalerPhone: String,
    val uploadSalername: String,
    val telid: String,
    val audit: String,
    val overdue: String,
    val created: Long,
    val ended: Long,
    val started: Long,
    val updated: Long,

    ) : Parcelable

@Parcelize
@Keep
data class CardBackImageBean(
    val image: String,
    val text: String,
    val code: String,
    val type: String,
    val tone: List<String>?,
) : Parcelable

@Keep
class CardTypeBean(var type: Int, var data: CardBean) : MultiItemEntity {


    companion object {
        const val FIRST_TYPE = 1
        const val SECOUND_TYPE = 2
    }

    override val itemType: Int
        get() = type

}


